package dao.genericDao;

import java.io.Serializable;
import java.util.List;

import entities.BaseEntity;

public interface GenericDao <T extends BaseEntity, ID extends Serializable> extends DAO
{
    T findById(ID id);

    List<T> findAll();

    List<T> findByExample(T exampleInstance);

    T makePersistent(T entity);

    void makeTransient(T entity);

    void evict(T entity);

    void flush();
    
    T fetchById(ID id);
}
